﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Moop.Common;
using Microsoft.Practices.Unity;
using Microsoft.AnalysisServices;
using System.Collections.Concurrent;

namespace Moop.DataLayer.Olap.Impl
{
    public class CubeDimension : ICubeDimension
    {

        #region ICubeDimension Members

        public string Name { get; set; }
        public string Caption { get; set; }
        public string UniqueName { get; set; }
        public string OlapPath { get; set; }
        public string DisplayFolder { get; set; }
        public bool IsDefault { get; set; }
        public bool IsLastInBatch { get; set; }
        public DimensionType Type { get; set; }

        [Dependency]
        public ConcurrentBag<ICubeDimensionSet> Sets { get; set; }

        [Dependency]
        public ConcurrentBag<ICubeDimensionAttribute> Attributes { get; set; }

        [Dependency]
        public ConcurrentBag<ICubeDimensionHierarchy> Hierarchies { get; set; }
        #endregion

        public CubeDimension()
        {
        }
    }
}
